<?php
	header("Content-type: text/html; charset=utf-8");
	header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
	header("Cache-Control: no-store, no-cache, must-revalidate");
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");
  
  $base_url="http://ivctrans.by/all/getdata.php?PHPSESSID=0";
  
//  $data=get_php_data($base_url."&prog=raspis2&host=1&station_id=305001&station_id1=300001&path=0");
//  echo '<table border=1>'.$data.'</table><br>';
  
  if (isset($_REQUEST['a']) && isset($_REQUEST['b'])) {
    $url=$base_url."&prog=raspis2&host=3";
    $url.="&station_id=".urldecode($_REQUEST['b']);
    $url.="&station_id1=".urldecode($_REQUEST['a']);
    $url.="&path=0";
    $data=get_php_data($url);

    mb_internal_encoding('UTF-8');
    
    if (mb_strpos($data,'marshrut')>0) {      // рейсы найдены
//      echo '<br><a href="'.$url.'">'.$url.'</a>';
//      echo '<table border=1>'.$data.'</table><br>';

      echo '<table cellpadding="0" cellspacing="0" border="0" class="raspis_table" id="rs_table">';
    // шапка
      echo '<tr class="raspis_head">';
      echo '<td width="350" rowspan="2">Рейс</td>';
      echo '<td colspan="2" style="border-bottom: none">Время туда</td>';
      echo '<td colspan="2" style="border-bottom: none">Время обратно</td>';
      echo '<td width="180" rowspan="2">Регулярность</td>';
      echo '</tr>';
      echo '<tr class="raspis_head">';
      echo '<td width="50">отпр.</td>';    
      echo '<td width="50">приб.</td>';    
      echo '<td width="50">отпр.</td>';
      echo '<td width="50">приб.</td>';
      echo '</tr>';

      while (mb_strpos($data,'marshrut')>0) {
        $data=mb_substr($data,mb_strpos($data,'marshrut')+8);
        if (mb_strpos($data,"showclick('")>0) {
          $data=mb_substr($data,mb_strpos($data,"showclick('")+11);
          // номер эталона
          $r_orig=mb_substr($data,0,mb_strpos($data,"'"));
          $r_id='';
          $len=mb_strlen($r_orig);
          $legal='$0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-';
          for ($ii=0; $ii<$len; $ii++) {
            $ch=mb_substr($r_orig,$ii,1);
            if (mb_strpos($legal,$ch)>0) $r_id.=$ch;
          }
          while ($ii<mb_strlen($r_id));
          while (!mb_strpos($r_id,'~')===false) {
            $r_id=mb_substr($r_id,0,mb_strpos($r_id,'~')).mb_substr($r_id,mb_strpos($r_id,'~')+1);
          }
          // название рейса
          $data=mb_substr($data,mb_strpos($data,'>')+1);
          $r_name=mb_substr($data,0,mb_strpos($data,'<'));
          
          // время туда
          $data=mb_substr($data,mb_strpos($data,'time')+4);
          $data=mb_substr($data,mb_strpos($data,'>')+1);
          $r_tm=explode('/',prepareTime(mb_substr($data,0,mb_strpos($data,"<"))));
          $r_tm1=$r_tm[0];
          $r_tm2=$r_tm[1];
          // время обратно
          $data=mb_substr($data,mb_strpos($data,'time')+4);
          $data=mb_substr($data,mb_strpos($data,'>')+1);
          $r_tm=explode('/',prepareTime(mb_substr($data,0,mb_strpos($data,"<"))));
          $r_tm3=$r_tm[0];
          $r_tm4=$r_tm[1];

          // регулярность
          $data=mb_substr($data,mb_strpos($data,'typ')+3);
          $data=mb_substr($data,mb_strpos($data,'>')+1);
          $r_reg=prepareReg(mb_substr($data,0,mb_strpos($data,"<")));
          
          if ($r_reg!='-') {
            echo '<tr class="raspis_race" onclick="load_route2(\''.$r_id.'\')">';
            echo '<td style="text-align: left; padding-left: 5px">'.$r_name.'</td>';
            echo '<td>'.$r_tm1.'</td>';
            echo '<td>'.$r_tm2.'</td>';
            echo '<td>'.$r_tm3.'</td>';
            echo '<td>'.$r_tm4.'</td>';
            echo '<td style="font-size: 12px">'.$r_reg.'</td>';          
            echo '</tr>';
            echo '<tr><td colspan="6"><div class="races_route" id="s'.$r_id.'"></div><input type="hidden" id="sv'.$r_id.'" value="'.$r_orig.'"></td></tr>';
          }  
        }
      }
      echo '</table>';
      
    } else if (mb_strpos($data,'no-data')>0) {  // рейсы не найдены
      echo '<table cellpadding="0" cellspacing="0" border="0" id="rs_table"><tr>';
      echo '<td style="color:#0000aa; font-size:12px">По Вашему запросу ничего не найдено. Попробуйте изменить параметры поиска</td>';
      echo '</tr></table>';
    } else {                                    // информация не доступна
      echo '<table cellpadding="0" cellspacing="0" border="0" id="rs_table"><tr>';
      echo '<td style="color: #bb0000; font-size: 12px">Расписание временно недоступно. Приносим извинения за неудобства.</td>';
      echo '</tr></table>';
    }
	}

// ----------------------------------------------------------------
  function prepareTime($tm) {
    if ($tm=='') {                              // время не указано
      return ' / ';
    } else if (mb_strpos($tm,'/')===false) {    // только одно время
      return $tm.'/ ';
    } else {                                    // два времени
      return $tm;
    }
  }
  function prepareReg($rr) {
    if (!mb_strpos($rr,'Необ-ные')===false) {
      return '-';
    } else if (!mb_strpos($rr,'Ежедневно')===false) {
      return 'Ежедневно';
    } else if (!mb_strpos($rr,'Через_день')===false) {
      return 'Через день';
    } else {
      $dd=array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
      
      $ds=array(0,0,0,0,0,0,0);
      $dk=0;
      if (!mb_strpos($rr,$dd[0])===false) { $ds[0]=1; $dk++; }
      if (!mb_strpos($rr,$dd[1])===false) { $ds[1]=1; $dk++; }
      if (!mb_strpos($rr,$dd[2])===false) { $ds[2]=1; $dk++; }
      if (!mb_strpos($rr,$dd[3])===false) { $ds[3]=1; $dk++; }
      if (!mb_strpos($rr,$dd[4])===false) { $ds[4]=1; $dk++; }
      if (!mb_strpos($rr,$dd[5])===false) { $ds[5]=1; $dk++; }
      if (!mb_strpos($rr,$dd[6])===false) { $ds[6]=1; $dk++; }
      if ($dk==7) {
        return 'Ежедневно';
      } else {
        $ra='';
        for ($i=0; $i<7; $i++) {
          if ($ds[$i]==1) $ra=$ra.$dd[$i].' ';
        }
        return $ra;
      }
    }
  }
// ----------------------------------------------------------------
	function get_php_data($url) {
		$get=curl_init();
		curl_setopt($get,CURLOPT_URL,$url); 
		curl_setopt($get,CURLOPT_FOLLOWLOCATION,1);
		curl_setopt($get,CURLOPT_RETURNTRANSFER,1);
		curl_setopt($get,CURLOPT_TIMEOUT,60);
		$answer=curl_exec($get);
		curl_close($get);
		return $answer;
	}
?>